/*
 * Types.java
 *
 * Created on 20 de mayo de 2008, 03:24 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package futbol.forrest.utils;

/**
 *
 * @author d157743
 */
public class Types {
    
    public enum SetT {
        SET_OPPONENTS,
        SET_TEAMMATES
    }
       
    
    /*! The DirectionT enumeration contains the different directions */
    public enum DirectionT {
      DIR_ILLEGAL,                 /*!< illegal message                          */
      DIR_NORTH,                   /*!< north direction                          */
      DIR_NORTHWEST,               /*!< north west direction                     */
      DIR_NORTHEAST,               /*!< north east direction                     */
      DIR_CENTER,                  /*!< center direction                         */
      DIR_EAST,                    /*!< east direction                           */
      DIR_WEST,                    /*!< west direction                           */
      DIR_SOUTHWEST,               /*!< south west direction                     */
      DIR_SOUTHEAST,               /*!< south east direction                     */
      DIR_SOUTH,                   /*!< south direction                          */
      DIR_MAX                      /*!< number of directions                     */
    }    
    
    public enum ParaT {
        PARA_MAX_RECEPTORS,
        PARA_MIN_RECEPTORS,
        PARA_DIST_DRIBBLE_UTI,
        PARA_DIST_DRIBBLE_VAREST,
        PARA_MAX_DIST_PASE,
        PARA_ATTACK_ZONE
    }     
    
    /* Representa los roles que puede tomar un agente en el grafo de coordinacion*/
    public enum RolT{
        ROL_ILLEGAL,	 /*! Rol ilegal*/
        ROL_INTERCEPTOR, /*!Interceptar la pelota*/
        ROL_SHOOTER,	 /*!Patear la pelota al arco, Pasar la pelota a un companiero en una direccion, Driblear, Despejar la pelota*/
        ROL_RECEPTOR,	 /*!Moverse en una direccion, Moverse estrategicamente*/
        ROL_PASIVE	 /*!Moverse estrategicamente*/
    }    
    
    /* Representa la distintas acciones que pueden tomar los agentes en el grafo. El orden en el que estan listadas la acciones representa las preferencia 
     * de forrest cuando tiene para elegir entre dos acciones (entre clearball y score -> score) */
    public enum AccionT{
        ACCION_ILLEGAL,		/*! accion ilegal */
        ACCION_CLEARBALL,	/*! accion despejar la pelota */
        ACCION_MOVEPOSEST,	/*! accion moverse a la pos estrategica */	
        ACCION_MOVETO,		/*! accion moverse en una direccion */
        ACCION_DRIBBLE,		/*! accion desplazarse con la pelota */	
        ACCION_PASSTO,		/*! accion pasar la pelota */			
        ACCION_INTERCEPT,	/*! accion ir a interceptar la pelota */	
        ACCION_SCORE		/*! accion de patear al arco */		
    }

    /** Creates a new instance of Types */
    public Types() {
    }
    
}
